@@ -340,8 +340,8 @@ class UserInfo(BaseModelMixin, LensmanTypeBoolMixin):  | 
            ||
| 340 | 340 | 
                province_name = models.CharField(_(u'province_name'), max_length=255, blank=True, null=True, help_text=u'用户省份信息')  | 
            
| 341 | 341 | 
                 | 
            
| 342 | 342 | 
                # 用户身份  | 
            
| 343 | 
                - islensman = models.BooleanField(_(u'islensman'), default=False, help_text=_(u'摄影师?'), db_index=True)  | 
            |
| 344 | 
                - istourguide = models.BooleanField(_(u'istourguide'), default=False, help_text=_(u'导游?'), db_index=True)  | 
            |
| 343 | 
                + islensman = models.BooleanField(_(u'islensman'), default=False, help_text=_(u'摄影师?'))  | 
            |
| 344 | 
                + istourguide = models.BooleanField(_(u'istourguide'), default=False, help_text=_(u'导游?'))  | 
            |
| 345 | 345 | 
                 | 
            
| 346 | 346 | 
                balance = models.IntegerField(_(u'balance'), default=0, help_text=u'用户余额(分)')  | 
            
| 347 | 347 | 
                freeze_income_balance = models.IntegerField(_(u'freeze_income_balance'), default=0, help_text=u'用户收入冻结余额(分)')  | 
            
                @@ -360,15 +360,15 @@ class UserInfo(BaseModelMixin, LensmanTypeBoolMixin):  | 
            ||
| 360 | 360 | 
                login_at = models.DateTimeField(_(u'login_at'), blank=True, null=True, help_text=_(u'登录时间'))  | 
            
| 361 | 361 | 
                 | 
            
| 362 | 362 | 
                subscribe = models.IntegerField(_(u'subscribe'), default=0, help_text=u'是否关注', db_index=True)  | 
            
| 363 | 
                - new_subscribe = models.BooleanField(_(u'new_subscribe'), default=False, help_text=_(u'是否新增关注'), db_index=True)  | 
            |
| 363 | 
                + new_subscribe = models.BooleanField(_(u'new_subscribe'), default=False, help_text=_(u'是否新增关注'))  | 
            |
| 364 | 364 | 
                 | 
            
| 365 | 365 | 
                code_version = models.IntegerField(_(u'code_version'), default=1, help_text=u'统览码版本', db_index=True)  | 
            
| 366 | 366 | 
                 | 
            
| 367 | 
                - has_membercard = models.BooleanField(_(u'has_membercard'), default=False, help_text=_(u'是否激活会员卡'), db_index=True)  | 
            |
| 367 | 
                + has_membercard = models.BooleanField(_(u'has_membercard'), default=False, help_text=_(u'是否激活会员卡'))  | 
            |
| 368 | 368 | 
                membercardid = models.CharField(_(u'membercardid'), max_length=32, blank=True, null=True, help_text=_(u'会员卡编号'), db_index=True)  | 
            
| 369 | 369 | 
                memberusercardcode = models.CharField(_(u'memberusercardcode'), max_length=32, blank=True, null=True, help_text=_(u'用户会员卡编号'), db_index=True)  | 
            
| 370 | 370 | 
                 | 
            
| 371 | 
                - test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)  | 
            |
| 371 | 
                + test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'))  | 
            |
| 372 | 372 | 
                 | 
            
| 373 | 373 | 
                # 会员信息  | 
            
| 374 | 374 | 
                integral = models.IntegerField(_(u'integral'), default=0, help_text=u'会员积分')  | 
            
                @@ -378,7 +378,7 @@ class UserInfo(BaseModelMixin, LensmanTypeBoolMixin):  | 
            ||
| 378 | 378 | 
                level = models.IntegerField(_(u'level'), choices=LEVEL_TUPLE, default=MEMBER_NO, help_text=u'会员等级')  | 
            
| 379 | 379 | 
                 | 
            
| 380 | 380 | 
                # 维修员信息  | 
            
| 381 | 
                - is_maintenance = models.BooleanField(_(u'is_maintenance'), default=False, help_text=_(u'是否维修员'), db_index=True)  | 
            |
| 381 | 
                + is_maintenance = models.BooleanField(_(u'is_maintenance'), default=False, help_text=_(u'是否维修员'))  | 
            |
| 382 | 382 | 
                 | 
            
| 383 | 383 | 
                class Meta:  | 
            
| 384 | 384 | 
                verbose_name = _(u'userinfo')  | 
            
                @@ -33,7 +33,7 @@ class CouponInfo(BaseModelMixin):  | 
            ||
| 33 | 33 | 
                coupon_valid_period = models.IntegerField(_(u'coupon_valid_period'), default=0, help_text=_(u'维修券有效时间(单位:天)'))  | 
            
| 34 | 34 | 
                coupon_expire_at = models.DateTimeField(_(u'coupon_expire_at'), blank=True, null=True, help_text=_(u'维修券过期时间'))  | 
            
| 35 | 35 | 
                 | 
            
| 36 | 
                - is_coupon_admin_writeoff = models.BooleanField(_(u'is_coupon_admin_writeoff'), default=True, help_text=_(u'是否是管理员核销'), db_index=True)  | 
            |
| 36 | 
                + is_coupon_admin_writeoff = models.BooleanField(_(u'is_coupon_admin_writeoff'), default=True, help_text=_(u'是否是管理员核销'))  | 
            |
| 37 | 37 | 
                coupon_limit_model_ids = JSONField(_(u'coupon_limit_model_ids'), blank=True, null=True, help_text=u'券限制使用 model_ids')  | 
            
| 38 | 38 | 
                 | 
            
| 39 | 39 | 
                class Meta:  | 
            
                @@ -77,11 +77,11 @@ class UserCouponInfo(BaseModelMixin):  | 
            ||
| 77 | 77 | 
                 | 
            
| 78 | 78 | 
                coupon_limit_model_ids = JSONField(_(u'coupon_limit_model_ids'), blank=True, null=True, help_text=u'券限制使用 model_ids')  | 
            
| 79 | 79 | 
                 | 
            
| 80 | 
                - has_used = models.BooleanField(_(u'has_used'), default=False, help_text=u'是否已核销', db_index=True)  | 
            |
| 80 | 
                + has_used = models.BooleanField(_(u'has_used'), default=False, help_text=u'是否已核销')  | 
            |
| 81 | 81 | 
                admin_id = models.CharField(_(u'admin_id'), max_length=32, blank=True, null=True, help_text=u'核销员唯一标识', db_index=True)  | 
            
| 82 | 82 | 
                admin_name = models.CharField(_(u'admin_name'), max_length=255, blank=True, null=True, help_text=u'核销员名称', db_index=True)  | 
            
| 83 | 83 | 
                used_at = models.DateTimeField(_(u'used_at'), blank=True, null=True, help_text=u'维修券核销时间')  | 
            
| 84 | 
                - is_coupon_admin_writeoff = models.BooleanField(_(u'is_coupon_admin_writeoff'), default=True, help_text=_(u'是否是管理员核销'), db_index=True)  | 
            |
| 84 | 
                + is_coupon_admin_writeoff = models.BooleanField(_(u'is_coupon_admin_writeoff'), default=True, help_text=_(u'是否是管理员核销'))  | 
            |
| 85 | 85 | 
                 | 
            
| 86 | 86 | 
                clerk_id = models.CharField(_(u'admin_id'), max_length=32, blank=True, null=True, help_text=u'销售员唯一标识', db_index=True)  | 
            
| 87 | 87 | 
                clerk_name = models.CharField(_(u'clerk_name'), max_length=32, blank=True, null=True, help_text=u'销售员名称', db_index=True)  | 
            
                @@ -234,7 +234,7 @@ class GroupPhotoInfo(BaseModelMixin, LensmanTypeMixin):  | 
            ||
| 234 | 234 | 
                photo_md5 = models.CharField(_(u'photo_md5'), max_length=32, blank=True, null=True, help_text=u'照片 MD5', db_index=True)  | 
            
| 235 | 235 | 
                 | 
            
| 236 | 236 | 
                photo_path = models.CharField(_(u'photo_path'), max_length=32, blank=True, null=True, help_text=u'照片存放路径')  | 
            
| 237 | 
                - has_watermark = models.BooleanField(_(u'has_watermark'), default=False, help_text=_(u'是否有水印'), db_index=True)  | 
            |
| 237 | 
                + has_watermark = models.BooleanField(_(u'has_watermark'), default=False, help_text=_(u'是否有水印'))  | 
            |
| 238 | 238 | 
                photo_w = models.IntegerField(_(u'photo_w'), default=0, help_text=u'照片宽度')  | 
            
| 239 | 239 | 
                photo_h = models.IntegerField(_(u'photo_h'), default=0, help_text=u'照片高度')  | 
            
| 240 | 240 | 
                 | 
            
                @@ -411,7 +411,7 @@ class PhotoThumbUpInfo(BaseModelMixin):  | 
            ||
| 411 | 411 | 
                user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)  | 
            
| 412 | 412 | 
                nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户群组昵称')  | 
            
| 413 | 413 | 
                avatar = models.CharField(_(u'avatar'), max_length=255, blank=True, null=True, help_text=u'用户头像')  | 
            
| 414 | 
                - thumbup = models.BooleanField(_(u'thumbup'), default=True, help_text=u'用户点赞', db_index=True)  | 
            |
| 414 | 
                + thumbup = models.BooleanField(_(u'thumbup'), default=True, help_text=u'用户点赞')  | 
            |
| 415 | 415 | 
                 | 
            
| 416 | 416 | 
                class Meta:  | 
            
| 417 | 417 | 
                verbose_name = _(u'photothumbupinfo')  | 
            
                @@ -48,7 +48,7 @@ class SaleclerkIntegralIncomeExpensesInfo(BaseModelMixin):  | 
            ||
| 48 | 48 | 
                 | 
            
| 49 | 49 | 
                remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')  | 
            
| 50 | 50 | 
                 | 
            
| 51 | 
                - test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)  | 
            |
| 51 | 
                + test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'))  | 
            |
| 52 | 52 | 
                 | 
            
| 53 | 53 | 
                class Meta:  | 
            
| 54 | 54 | 
                verbose_name = _(u'saleclerkintegralincomeexpensesinfo')  | 
            
                @@ -102,26 +102,26 @@ class SaleclerkSubmitLogInfo(BaseModelMixin):  | 
            ||
| 102 | 102 | 
                image = models.FileField(_(u'image'), upload_to=upload_path, blank=True, null=True, help_text=u'图片')  | 
            
| 103 | 103 | 
                code_image = models.FileField(_(u'code_image'), upload_to=upload_path, blank=True, null=True, help_text=u'序列号图片')  | 
            
| 104 | 104 | 
                 | 
            
| 105 | 
                - has_scan = models.BooleanField(_(u'has_scan'), default=False, help_text=_(u'是否被消费者扫过'), db_index=True)  | 
            |
| 105 | 
                + has_scan = models.BooleanField(_(u'has_scan'), default=False, help_text=_(u'是否被消费者扫过'))  | 
            |
| 106 | 106 | 
                 | 
            
| 107 | 107 | 
                remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')  | 
            
| 108 | 108 | 
                 | 
            
| 109 | 
                - dupload = models.BooleanField(_(u'dupload'), default=False, help_text=_(u'是否为重复提交'), db_index=True)  | 
            |
| 109 | 
                + dupload = models.BooleanField(_(u'dupload'), default=False, help_text=_(u'是否为重复提交'))  | 
            |
| 110 | 110 | 
                 | 
            
| 111 | 
                - test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)  | 
            |
| 112 | 
                - test_sn = models.BooleanField(_(u'test_sn'), default=False, help_text=_(u'是否为测试序列号'), db_index=True)  | 
            |
| 111 | 
                + test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'))  | 
            |
| 112 | 
                + test_sn = models.BooleanField(_(u'test_sn'), default=False, help_text=_(u'是否为测试序列号'))  | 
            |
| 113 | 113 | 
                 | 
            
| 114 | 114 | 
                ym = models.IntegerField(_(u'ym'), default=0, help_text=u'年月', db_index=True) # 例:201712, tc.local_string(format='%Y%m')  | 
            
| 115 | 115 | 
                ymd = models.IntegerField(_(u'ymd'), default=0, help_text=u'年月日', db_index=True) # 例:20171208, tc.local_string(format='%Y%m%d')  | 
            
| 116 | 116 | 
                 | 
            
| 117 | 117 | 
                trackingNo = models.CharField(_(u'trackingNo'), max_length=32, blank=True, null=True, help_text=u'快递单号')  | 
            
| 118 | 118 | 
                 | 
            
| 119 | 
                - is_wxwork = models.BooleanField(_(u'is_wxwork'), default=False, help_text=_(u'是否为企业微信端'), db_index=True)  | 
            |
| 119 | 
                + is_wxwork = models.BooleanField(_(u'is_wxwork'), default=False, help_text=_(u'是否为企业微信端'))  | 
            |
| 120 | 120 | 
                 | 
            
| 121 | 
                - is_staff_delete = models.BooleanField(_(u'is_staff_delete'), default=False, help_text=_(u'是否管理员删除'), db_index=True)  | 
            |
| 121 | 
                + is_staff_delete = models.BooleanField(_(u'is_staff_delete'), default=False, help_text=_(u'是否管理员删除'))  | 
            |
| 122 | 122 | 
                code_version = models.IntegerField(_(u'code_version'), default=1, help_text=_(u'统览码版本'), db_index=True)  | 
            
| 123 | 123 | 
                 | 
            
| 124 | 
                - is_upload_qiniu = models.BooleanField(_(u'is_upload_qiniu'), default=False, help_text=_(u'是否已上传七牛'), db_index=True)  | 
            |
| 124 | 
                + is_upload_qiniu = models.BooleanField(_(u'is_upload_qiniu'), default=False, help_text=_(u'是否已上传七牛'))  | 
            |
| 125 | 125 | 
                 | 
            
| 126 | 126 | 
                class Meta:  | 
            
| 127 | 127 | 
                verbose_name = _(u'销售员扫码出库记录')  | 
            
                @@ -90,8 +90,8 @@ class LensmanTypeMixin(LensmanTypeChoicesMixin):  | 
            ||
| 90 | 90 | 
                 | 
            
| 91 | 91 | 
                 | 
            
| 92 | 92 | 
                class LensmanTypeBoolMixin(LensmanTypeChoicesMixin):  | 
            
| 93 | 
                - is_common_lensman = models.BooleanField(_(u'is_common_lensman'), default=False, help_text=u'是否为普通摄影师', db_index=True)  | 
            |
| 94 | 
                - is_outtake_lensman = models.BooleanField(_(u'is_outtake_lensman'), default=False, help_text=u'是否为花絮摄影师', db_index=True)  | 
            |
| 93 | 
                + is_common_lensman = models.BooleanField(_(u'is_common_lensman'), default=False, help_text=u'是否为普通摄影师')  | 
            |
| 94 | 
                + is_outtake_lensman = models.BooleanField(_(u'is_outtake_lensman'), default=False, help_text=u'是否为花絮摄影师')  | 
            |
| 95 | 95 | 
                 | 
            
| 96 | 96 | 
                class Meta:  | 
            
| 97 | 97 | 
                abstract = True  | 
            
                @@ -14,7 +14,7 @@ class MarketCodeInfo(BaseModelMixin):  | 
            ||
| 14 | 14 | 
                code_index = models.IntegerField(_(u'code_index'), default=0, help_text=u'该码在批次中的偏移量 ')  | 
            
| 15 | 15 | 
                code_url = models.CharField(_(u'code_url'), max_length=128, blank=True, null=True, help_text=u'28位普通码字符 ', db_index=True)  | 
            
| 16 | 16 | 
                 | 
            
| 17 | 
                - has_used = models.BooleanField(_(u'has_used'), default=False, help_text=_(u'是否已使用'), db_index=True)  | 
            |
| 17 | 
                + has_used = models.BooleanField(_(u'has_used'), default=False, help_text=_(u'是否已使用'))  | 
            |
| 18 | 18 | 
                 | 
            
| 19 | 19 | 
                class Meta:  | 
            
| 20 | 20 | 
                verbose_name = _(u'一物一码信息')  | 
            
                @@ -159,9 +159,9 @@ class ModelInfo(BaseModelMixin):  | 
            ||
| 159 | 159 | 
                 | 
            
| 160 | 160 | 
                position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')  | 
            
| 161 | 161 | 
                 | 
            
| 162 | 
                - display = models.BooleanField(_(u'display'), default=True, help_text=_(u'Display'), db_index=True)  | 
            |
| 162 | 
                + display = models.BooleanField(_(u'display'), default=True, help_text=_(u'Display'))  | 
            |
| 163 | 163 | 
                 | 
            
| 164 | 
                - is_important = models.BooleanField(_(u'is_important'), default=False, help_text=_(u'是否重要型号'), db_index=True)  | 
            |
| 164 | 
                + is_important = models.BooleanField(_(u'is_important'), default=False, help_text=_(u'是否重要型号'))  | 
            |
| 165 | 165 | 
                 | 
            
| 166 | 166 | 
                shot_type_id = models.CharField(_(u'shot_type_id'), max_length=32, blank=True, null=True, help_text=u'镜头类型唯一标识', db_index=True)  | 
            
| 167 | 167 | 
                shot_member_integral = models.IntegerField(_(u'shot_member_integral'), default=0, help_text=u'【消费者】镜头会员积分')  | 
            
                @@ -309,13 +309,13 @@ class ModelCameraBodyInfo(BaseModelMixin):  | 
            ||
| 309 | 309 | 
                model_name = models.CharField(_(u'model_name'), max_length=32, blank=True, null=True, help_text=u'型号名称')  | 
            
| 310 | 310 | 
                model_full_name = models.CharField(_(u'model_full_name'), max_length=255, blank=True, null=True, help_text=u'型号全名称')  | 
            
| 311 | 311 | 
                model_image = models.ImageField(_(u'model_image'), upload_to=upload_path, blank=True, null=True, help_text=u'镜头图片')  | 
            
| 312 | 
                - is_important = models.BooleanField(_(u'is_important'), default=False, help_text=_(u'是否重要型号'), db_index=True)  | 
            |
| 312 | 
                + is_important = models.BooleanField(_(u'is_important'), default=False, help_text=_(u'是否重要型号'))  | 
            |
| 313 | 313 | 
                 | 
            
| 314 | 314 | 
                camera_brand_name = models.CharField(_(u'camera_brand_name'), max_length=255, blank=True, null=True, help_text=u'机身品牌')  | 
            
| 315 | 315 | 
                camera_name = models.CharField(_(u'camera_name'), max_length=255, blank=True, null=True, help_text=u'机身名称')  | 
            
| 316 | 316 | 
                camera_image = models.ImageField(_(u'camera_image'), upload_to=upload_path, blank=True, null=True, help_text=u'机身图片')  | 
            
| 317 | 317 | 
                camera_market_time = models.DateField(_(u'camera_market_time'), blank=True, null=True, help_text=u'机身上市日期')  | 
            
| 318 | 
                - is_ILDC = models.BooleanField(_(u'is_ILDC'), default=False, help_text=_(u'是否需要原厂转接环'), db_index=True)  | 
            |
| 318 | 
                + is_ILDC = models.BooleanField(_(u'is_ILDC'), default=False, help_text=_(u'是否需要原厂转接环'))  | 
            |
| 319 | 319 | 
                remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')  | 
            
| 320 | 320 | 
                 | 
            
| 321 | 321 | 
                class Meta:  | 
            
                @@ -441,11 +441,11 @@ class SaleclerkInfo(BaseModelMixin, SexModelMixin):  | 
            ||
| 441 | 441 | 
                user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS, default=UNVERIFIED, help_text=u'用户状态', db_index=True)  | 
            
| 442 | 442 | 
                refused_reason = models.TextField(_(u'refused_reason'), blank=True, null=True, help_text=u'审核拒绝原因')  | 
            
| 443 | 443 | 
                 | 
            
| 444 | 
                - is_auth = models.BooleanField(_(u'is_auth'), default=False, help_text=_(u'是否已授权'), db_index=True)  | 
            |
| 444 | 
                + is_auth = models.BooleanField(_(u'is_auth'), default=False, help_text=_(u'是否已授权'))  | 
            |
| 445 | 445 | 
                 | 
            
| 446 | 
                - test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)  | 
            |
| 446 | 
                + test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'))  | 
            |
| 447 | 447 | 
                 | 
            
| 448 | 
                - is_online_sales = models.BooleanField(_(u'is_online_sales'), default=False, help_text=_(u'是否为网销'), db_index=True)  | 
            |
| 448 | 
                + is_online_sales = models.BooleanField(_(u'is_online_sales'), default=False, help_text=_(u'是否为网销'))  | 
            |
| 449 | 449 | 
                 | 
            
| 450 | 450 | 
                class Meta:  | 
            
| 451 | 451 | 
                verbose_name = _(u'经销商销售员信息')  | 
            
                @@ -644,13 +644,13 @@ class ConsumeInfoSubmitLogInfo(BaseModelMixin):  | 
            ||
| 644 | 644 | 
                 | 
            
| 645 | 645 | 
                verifyResult = models.IntegerField(_(u'verifyResult'), default=0, help_text=u'验证结果', db_index=True)  | 
            
| 646 | 646 | 
                 | 
            
| 647 | 
                - dupload = models.BooleanField(_(u'dupload'), default=False, help_text=_(u'是否为重复提交'), db_index=True)  | 
            |
| 647 | 
                + dupload = models.BooleanField(_(u'dupload'), default=False, help_text=_(u'是否为重复提交'))  | 
            |
| 648 | 648 | 
                 | 
            
| 649 | 
                - submit_during_activity = models.BooleanField(_(u'submit_during_activity'), default=False, help_text=_(u'是否为活动期间上传'), db_index=True)  | 
            |
| 649 | 
                + submit_during_activity = models.BooleanField(_(u'submit_during_activity'), default=False, help_text=_(u'是否为活动期间上传'))  | 
            |
| 650 | 650 | 
                activity_id = models.IntegerField(_(u'activity_id'), default=0, help_text=_(u'活动唯一标识'))  | 
            
| 651 | 651 | 
                coupon_expire_at = models.DateTimeField(_(u'coupon_expire_at'), blank=True, null=True, help_text=_(u'维修券过期时间'))  | 
            
| 652 | 652 | 
                coupon_value = models.IntegerField(_(u'coupon_value'), default=0, help_text=_(u'维修券金额(单位:分)'))  | 
            
| 653 | 
                - has_used = models.BooleanField(_(u'has_used'), default=False, help_text=_(u'是否已核销'), db_index=True)  | 
            |
| 653 | 
                + has_used = models.BooleanField(_(u'has_used'), default=False, help_text=_(u'是否已核销'))  | 
            |
| 654 | 654 | 
                admin_id = models.CharField(_(u'admin_id'), max_length=32, blank=True, null=True, help_text=u'核销员唯一标识', db_index=True)  | 
            
| 655 | 655 | 
                used_at = models.DateTimeField(_(u'used_at'), blank=True, null=True, help_text=_(u'维修券核销时间'))  | 
            
| 656 | 656 | 
                 | 
            
                @@ -661,7 +661,7 @@ class ConsumeInfoSubmitLogInfo(BaseModelMixin):  | 
            ||
| 661 | 661 | 
                 | 
            
| 662 | 662 | 
                province = models.CharField(_(u'province'), max_length=32, blank=True, null=True, help_text=u'省份', db_index=True)  | 
            
| 663 | 663 | 
                 | 
            
| 664 | 
                - test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)  | 
            |
| 664 | 
                + test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'))  | 
            |
| 665 | 665 | 
                 | 
            
| 666 | 666 | 
                class Meta:  | 
            
| 667 | 667 | 
                verbose_name = _(u'消费者信息提交记录')  | 
            
                @@ -34,7 +34,7 @@ class GoodsInfo(BaseModelMixin):  | 
            ||
| 34 | 34 | 
                 | 
            
| 35 | 35 | 
                coupon_id = models.CharField(_(u'coupon_id'), max_length=32, blank=True, null=True, help_text=u'券唯一标识', db_index=True)  | 
            
| 36 | 36 | 
                 | 
            
| 37 | 
                - is_slider = models.BooleanField(_(u'is_slider'), default=True, help_text=u'是否为轮播商品', db_index=True)  | 
            |
| 37 | 
                + is_slider = models.BooleanField(_(u'is_slider'), default=True, help_text=u'是否为轮播商品')  | 
            |
| 38 | 38 | 
                slider_image = models.ImageField(_(u'slider_image'), upload_to=upload_path, blank=True, null=True, help_text=u'商品轮播图片')  | 
            
| 39 | 39 | 
                 | 
            
| 40 | 40 | 
                integral = models.IntegerField(_(u'integral'), default=99999, help_text=u'兑换所需积分')  | 
            
                @@ -42,7 +42,7 @@ class GoodsInfo(BaseModelMixin):  | 
            ||
| 42 | 42 | 
                 | 
            
| 43 | 43 | 
                minlevel = models.IntegerField(_(u'minlevel'), default=0, help_text=u'兑换最低会员级别', db_index=True)  | 
            
| 44 | 44 | 
                 | 
            
| 45 | 
                - only_for_member = models.BooleanField(_(u'only_for_member'), default=False, help_text=u'会员专属', db_index=True)  | 
            |
| 45 | 
                + only_for_member = models.BooleanField(_(u'only_for_member'), default=False, help_text=u'会员专属')  | 
            |
| 46 | 46 | 
                 | 
            
| 47 | 47 | 
                position = models.IntegerField(_(u'position'), default=1, help_text=u'排序', db_index=True)  | 
            
| 48 | 48 | 
                 | 
            
                @@ -127,7 +127,7 @@ class GoodsOrderInfo(BaseModelMixin):  | 
            ||
| 127 | 127 | 
                 | 
            
| 128 | 128 | 
                integral = models.IntegerField(_(u'integral'), default=99999, help_text=u'兑换所需积分')  | 
            
| 129 | 129 | 
                 | 
            
| 130 | 
                - has_send_template_message = models.BooleanField(_(u'has_send_template_message'), default=True, help_text=u'是否已发送模版消息', db_index=True)  | 
            |
| 130 | 
                + has_send_template_message = models.BooleanField(_(u'has_send_template_message'), default=True, help_text=u'是否已发送模版消息')  | 
            |
| 131 | 131 | 
                 | 
            
| 132 | 132 | 
                class Meta:  | 
            
| 133 | 133 | 
                verbose_name = _(u'会员商品订单信息')  | 
            
                @@ -187,7 +187,7 @@ class RightInfo(BaseModelMixin):  | 
            ||
| 187 | 187 | 
                position = models.IntegerField(_(u'position'), default=1, help_text=u'排序', db_index=True)  | 
            
| 188 | 188 | 
                 | 
            
| 189 | 189 | 
                # 券相关  | 
            
| 190 | 
                - is_send_coupon = models.BooleanField(_(u'is_send_coupon'), default=False, help_text=_(u'是否发券'), db_index=True)  | 
            |
| 190 | 
                + is_send_coupon = models.BooleanField(_(u'is_send_coupon'), default=False, help_text=_(u'是否发券'))  | 
            |
| 191 | 191 | 
                coupon_num = models.IntegerField(_(u'coupon_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            
| 192 | 192 | 
                coupon_level1_num = models.IntegerField(_(u'coupon_level1_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            
| 193 | 193 | 
                coupon_level2_num = models.IntegerField(_(u'coupon_level2_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            
                @@ -303,7 +303,7 @@ class MemberActivityInfo(BaseModelMixin):  | 
            ||
| 303 | 303 | 
                 | 
            
| 304 | 304 | 
                cover = models.ImageField(_(u'cover'), upload_to=upload_path, blank=True, null=True, help_text=u'活动列表图片')  | 
            
| 305 | 305 | 
                 | 
            
| 306 | 
                - is_slider = models.BooleanField(_(u'is_slider'), default=True, help_text=u'是否为轮播活动', db_index=True)  | 
            |
| 306 | 
                + is_slider = models.BooleanField(_(u'is_slider'), default=True, help_text=u'是否为轮播活动')  | 
            |
| 307 | 307 | 
                slider_image = models.ImageField(_(u'slider_image'), upload_to=upload_path, blank=True, null=True, help_text=u'活动轮播图片')  | 
            
| 308 | 308 | 
                 | 
            
| 309 | 309 | 
                content_rich_text = RichTextField(_(u'content_rich_text'), blank=True, null=True, help_text=u'活动描述')  | 
            
                @@ -313,7 +313,7 @@ class MemberActivityInfo(BaseModelMixin):  | 
            ||
| 313 | 313 | 
                 | 
            
| 314 | 314 | 
                position = models.IntegerField(_(u'position'), default=1, help_text=u'排序', db_index=True)  | 
            
| 315 | 315 | 
                 | 
            
| 316 | 
                - is_signup = models.BooleanField(_(u'is_signup'), default=True, help_text=u'是否有报名功能', db_index=True)  | 
            |
| 316 | 
                + is_signup = models.BooleanField(_(u'is_signup'), default=True, help_text=u'是否有报名功能')  | 
            |
| 317 | 317 | 
                 | 
            
| 318 | 318 | 
                class Meta:  | 
            
| 319 | 319 | 
                verbose_name = _(u'会员活动信息')  | 
            
                @@ -75,7 +75,7 @@ class OrderInfo(BaseModelMixin):  | 
            ||
| 75 | 75 | 
                pay_status = models.IntegerField(_(u'pay_status'), choices=PAY_STATUS, default=WAITING_PAY, help_text=u'支付状态', db_index=True)  | 
            
| 76 | 76 | 
                paid_at = models.DateTimeField(_(u'paid_at'), blank=True, null=True, help_text=_(u'支付时间'))  | 
            
| 77 | 77 | 
                 | 
            
| 78 | 
                - reback_status = models.BooleanField(_(u'reback_status'), default=False, help_text=u'退款状态', db_index=True)  | 
            |
| 78 | 
                + reback_status = models.BooleanField(_(u'reback_status'), default=False, help_text=u'退款状态')  | 
            |
| 79 | 79 | 
                reback_at = models.DateTimeField(_(u'reback_at'), blank=True, null=True, help_text=_(u'退款时间'))  | 
            
| 80 | 80 | 
                 | 
            
| 81 | 81 | 
                # 微信统一下单  | 
            
                @@ -39,9 +39,9 @@ class SalesResponsibilityInfo(BaseModelMixin):  | 
            ||
| 39 | 39 | 
                user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS_TUPLE, default=UNVERIFIED, help_text=u'用户状态', db_index=True)  | 
            
| 40 | 40 | 
                refused_reason = models.TextField(_(u'refused_reason'), blank=True, null=True, help_text=u'审核拒绝原因')  | 
            
| 41 | 41 | 
                 | 
            
| 42 | 
                - is_auth = models.BooleanField(_(u'is_auth'), default=False, help_text=_(u'是否已授权'), db_index=True)  | 
            |
| 42 | 
                + is_auth = models.BooleanField(_(u'is_auth'), default=False, help_text=_(u'是否已授权'))  | 
            |
| 43 | 43 | 
                 | 
            
| 44 | 
                - is_super = models.BooleanField(_(u'is_super'), default=False, help_text=_(u'是否超级销售担当'), db_index=True)  | 
            |
| 44 | 
                + is_super = models.BooleanField(_(u'is_super'), default=False, help_text=_(u'是否超级销售担当'))  | 
            |
| 45 | 45 | 
                 | 
            
| 46 | 46 | 
                class Meta:  | 
            
| 47 | 47 | 
                verbose_name = _(u'销售担当信息')  | 
            
                @@ -91,7 +91,7 @@ class SalesResponsibilityInfoModelsSaleStatisticInfo(BaseModelMixin):  | 
            ||
| 91 | 91 | 
                # 型号  | 
            
| 92 | 92 | 
                model_id = models.CharField(_(u'model_id'), max_length=32, help_text=u'型号唯一标识', db_index=True)  | 
            
| 93 | 93 | 
                model_name = models.CharField(_(u'model_name'), max_length=255, blank=True, null=True, help_text=u'型号名称', db_index=True)  | 
            
| 94 | 
                - is_important = models.BooleanField(_(u'is_important'), default=True, help_text=_(u'是否重要型号'), db_index=True)  | 
            |
| 94 | 
                + is_important = models.BooleanField(_(u'is_important'), default=True, help_text=_(u'是否重要型号'))  | 
            |
| 95 | 95 | 
                 | 
            
| 96 | 96 | 
                ymd = models.IntegerField(_(u'ymd'), default=0, help_text=u'年月日', db_index=True) # 例:20171208, tc.local_string(format='%Y%m%d'), 0 为全部  | 
            
| 97 | 97 | 
                 |